package com.atguigu.gulimall.product.feign;

import com.atguigu.common.to.SkuReductionTO;
import com.atguigu.common.to.SpuBoundsTO;
import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author 马迎迎
 * @Title: SpuFeignService
 * @Package com.atguigu.gulimall.product.feign
 * @Description: TODO(添加描述)
 * @date 2021年05月18日 11:58
 */
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
    /**
     * 1.CouponFeignService.saveSpuBounds(spuBoundsTO);
     *  1)@RequestBody将这个对象转为json
     *  2）从注册中心找到gulimall-coupon服务，给/coupon/spubounds/save发送请求。
     *      将上一步转的json放在请求体位置发送请求
     *  3）对方服务收到请求。请求体中有Json数据，@RequestBody SpuBoundsEntity spuBounds将请求体Json转为SpuBoundsEntity对象
     *
     *  只要json数据模型兼容，双方服务无需使用同一个to
     * @param spuBoundsTO
     * @return
     */
    @PostMapping("/coupon/spubounds/save")
    R saveSpuBounds(@RequestBody SpuBoundsTO spuBoundsTO);
    @PostMapping("/coupon/skufullreduction/saveInfo")
    R saveSkuReduction(@RequestBody SkuReductionTO skuReductionTO);
}
